package com.neudu.corejava.ch7.interfa;

public class TestInterface {
	public static void main(String[] args) {
		
		String nameString =IFly.WINGS;
		
		
		//向上转型：自动类型转换：把子类赋值给父类的引用；或父类接口
		IFly fly=new Animal();
		fly.fly();
		fly.sing();
		//子类比父类或接口多的方法，不能进行调用
		//fly.run；
		
		Object object =new Object();
		//父类对象不能直接赋值给子类引用
		//animal animal = Object；
		if(object instanceof Animal){
			Animal animal =(Animal)object;//父类对象需要强制转换，才能赋值给子类引用
			animal.sing();
		}else {
			System.out.println("不是类型还原，不能进行强制转换");
		}
		
		
		
		//向下类型转换，需要进行类型强制转换；类型强制转换本质是类型还原；
		Animal animal2=(Animal)fly;
		animal2.sing();
	}

}
